#pragma once

#include <vector>
using namespace std;
class GroupInfo;
class CMarkup;

#include "TestInfoManager.h"

class TestInfo
{
public:
	TestInfo(CMarkup& xml);
	BOOL Save(CMarkup& xml);
	~TestInfo(void);
	
	const CString& GetDescription();
	const CString& GetCLF();
	COLORREF GetBackGroundColor();
	COLORREF GetAdditionalStudentBackGroundColor();
	const CString& GetAudioSource();

	BOOL SetCLF(const CString& clf);
	BOOL SetAudioSource(const CString& audioSource);

	GroupInfo* GetGroupInfo(UINT i);
	size_t GetGroupSize();
	GroupInfo* GetCurrentGroupInfo();

	BOOL SetCurrentGroup(UINT i);
	UINT GetCurrentGroup();
private:
	UINT TestId;
	CString Description;
	CString CLF;
	COLORREF BackGroundColor;
	COLORREF AdditionalStudentBackGroundColor;
	CString AudioSource;
	vector<GroupInfo*> vGroupInfo;

	UINT CurrentGroupId;
private:
	TestInfo(void);

	friend TestInfoManager::TestInfoManager(void);
};
